In modern databases, views are computed and stored to allow efficient querying and analysis of the data. A view provides an alternate method for accessing data contained in a database's base table. Usually, a view is a child of and exists as a filter on top of the base table(s), and does not itself contain data. Generally, the query used to generate the view condenses, combines, or otherwise processes the data residing in one or more underlying base tables.
A materialized view is similar to a view in syntax and output; however, materialized views contain their own distinct data. In order to be materialized, such a view must exist physically in storage. Materialized views provide faster data access than do base tables with non-materialized views.
Materialized view architectures historically have to deal with issues of creation, storage, and maintenance. Keeping materialized views up to date may be an expensive process, with the expense defined in terms of storage space, response time, and computational resources needed to maintain the materialized view. However, if a materialized view is not kept up to date, the data contained it is considered stale or invalid, and the view cannot be used until the maintenance is performed.
Materialized views are typically created and stored in the same location as the base relations they are built from, kept on mass storage devices. On data retrieval, the materialized view records are read from disk and returned to the database.